const express = require('express');
const route = express.Router()
const adminModel = require("../db/model/adminModel") //引入数据库集合

var md5 = require('md5'); //引入md5加密
const addAdminReg = require('../middleware/addAdminReg.js') //引入正则校验中间件
const isLoginMiddle = require('../middleware/isLoginMiddle') //引入权限校验中间件



//添加管理员接口
route.post("/addAdmin", isLoginMiddle, addAdminReg ,async (req, res) => {
    const {
        adminName,
        password,
        regTime
    } = req.body

    try {
        //拿着用户名去数据库的adminModel集合中查询是否存在,findOne如果查询不到返回null
        const findResult = await adminModel.findOne({
            adminName
        })

        //如果查询到了,则直接响应该用户名已经注册
        if (findResult) {
            return res.send({
                code: 10001,
                msg: "添加管理员-用户已经被注册",
                data: null
            })
        }

        //如果没有查询到,则向数据库添加该数据
        await adminModel.create({
            adminName,
            //密码在保存的时候加密(并加盐)
            password: md5(password + '123'),
            regTime
        })

        res.send({
            code: 10000,
            msg: "添加管理员-添加成功",
            data: null
        })
    } catch (e) {
        console.log("添加管理员中出现了异常" + e.message);
        res.send({
            code: 10002,
            msg: "添加管理员-服务端异常",
            data: null
        })
    }
})


//暴露添加管理员路由
module.exports = route